//引入vue
import Vue from "vue"
//引入加密
// import CryptoJS from '@/uni_modules/crypto-js/crypto-js.js';
//实例化vue对象
const app = new Vue()

/**
 * 初始化配置信息
 */
function initConfigs(expire_time)
{
	// //发送请求
	// app.nii_common.request.build('app/configs', {}, 'POST', function (res) {
	// 	//设置缓存
	// 	uni.setStorageSync('__SYSTEM_GLOBAL_CONFIGS__', {expire_time: expire_time, data: res.data});
	// });
}

/**
 * 初始化全局配置文件
 */
function initGlobalData(globalData, refresh = false)
{	
	//获取配置参数
	const envConfig = process.projectEnv, current_time = Date.parse(new Date());
	//获取缓存
	var configs = uni.getStorageSync('__SYSTEM_GLOBAL_CONFIGS__');
	//判断配置信息
	if (refresh || configs == 'undefined' || uni.$u.test.isEmpty(configs) || current_time > configs.expire_time) {
		//设置默认
		configs = {expire_time: 0, data: {}};
		//设置缓存
		uni.setStorageSync('__SYSTEM_GLOBAL_CONFIGS__', configs);
		//初始化配置
		initConfigs((current_time + (envConfig.GLOBAL_DATA_EXPRESS_SECONDS * 1000)));
	}
	//设置配置信息
	globalData.configs = configs.data;
	//判断是否为公祭日
	if (parseInt(configs.data.IS_NATIONAL_MEMORIAL_DAY) === 1) {
		//新增主题
		globalData.defaultThemes.push('gray_filter');
	}
	//判断是否开发环境
	if (envConfig.APP_ENV !== 'production') {
		//调试信息
		console.log(globalData);
	}
	//返回全局数据
	return globalData;
}

/**
 * 获取当前页面链接信息
 * @param {Object} item
 */
function getCurrentUrl(item = '')
{
	//获取全部路由
	var routes = uni.$u.pages(), options = routes[routes.length - 1].options, res = {
		route: uni.$u.page(),
		params: options,
		url: ''
	};
	//设置当前页面链接
	res['url'] = res.route + ((typeof (options) !== 'undefined' && !uni.$u.test.isEmpty(options)) ? uni.$u.queryParams(options) : '');
	//返回完整信息
	return (typeof(item) !== 'undefined' && item.length > 0  && typeof(res[item]) !== 'undefined') ? res[item] : res;
}

//暴露方法
module.exports = {
	initGlobalData: initGlobalData,
	getCurrentUrl: getCurrentUrl,
}